برنامه نویسی VBA در اکسل ، ۷ دلیل که باید آن را زودتر یاد بگیرید
سلام به یکی دیگر از مقالات آموزشی سایت سافت پلاس خوش آمدی . موضوعی که امروز می خواهیم راجع به آن با هم صحبت کنیم بررسی 7 دلیل در خصوص یادگیری برنامه نویسی VBA در اکسل است .
خیلی از ما تا به حال به دفعات از نرم افزار اکسل استفاده کرده ایم . حالا بماند که خیلی ها هم هر روز دارند با این نرم افزار کار می کنند .
یک نگاهی به اطرافیانت بینداز . خیلی از دانش آموزان ، دانشجویان، مهندسان ، معلم ها و اساتید دانشگاهها ؛ خیلی از کارمندان ادارات و حتی صاحبان کسب و کارهای شخصی ، همه و همه به نحوی با نرم افزار اکسل سر و کار دارند و از آن در زمینه های مختلف دارند استفاده می کنند .
خوب که دقت می کنی متوجه می شوی که تعداد کاربران اکسل بیشتر از آن چیزی است که فکرش را می کنی . اما یک سوال .
فکر می کنی از بین این همه آدم که در شغل ها و موقعیت های مختلف دارند از اکسل استفاده می کنند ؛ چند نفر هستند که به سراغ برنامه نویسی در این نرم افزار می روند .؟
اصلا فکر می کنی که چند نفر خبر دارند که در اکسل می شود برنامه نویسی هم کرد ؟
به تو قول می دهم که از هر 100 نفر که با اکسل کار می کنند حداقل 90 نفر اصلا خبر از این ندارند که می شود در اکسل برنامه نویسی کرد .
از بین آن ده نفر باقی مانده هم که می دانند در اکسل چیزی به اسم زبان برنامه نویسی VBA وجود دارد ، حداقل 8 نفرشان به سراغ یادگیری VBA و یادگیری برنامه نویسی با آن نمی روند اما دلیل آن را می دانی ؟ .
دلیلش چند تا چیز خیلی ساده است :
1- دلیل اولش این است که خیلی از افراد از خود نرم افزار اکسل و امکاناتی که دارد هم بصورت کامل استفاده نمی کنند حالا چه رسد به اینکه بخواهند به سراغ قابلیتی به اسم VBA رفته و در سطح حرفه ای به برنامه نویسی در اکسل بپردازند.
معلومات و دانش این افراد در کار با نرم افزار اکسل عمدتا در سطح مبتدی و یا نهایتا متوسط است .
پس این افراد تا زمانی که در همین سطح از معلومات بمانند نیازی به برنامه نویسی در محیط اکسل ندارند .
2- دلیل دوم هم در یک کلمه خلاصه می شود : “ترس ”
خیلی از افراد هستند که از اسم برنامه نویسی ترس دارند . فکر می کنند که برنامه نویسی یک کار سخت است و هر کسی نمی تواند به سراغ آن برود و آن را یاد بگیرد .
اما این یک تصور کاملا غلط است . من در کتاب ” چگونه غول برنامه نویسی را شکست دهیم ” بطور کامل راجع به این قضیه صحبت کرده ام و در آنجا نشان داده ام که چقدر راحت می شود به سراغ هر زبان برنامه نویسی رفته و آن را خیلی راحت یاد گرفت .
چگونه غول برنامه نویسی را شکست دهیم ؟
اما امروز در این مطلب می خواهیم با هم 10 تا پرسش در خصوص کار با زبان برنامه نویسی VBA را با هم بررسی کنیم . مطمئنم که خیلی از این سوالات همان چیز هایی است که در ذهن شما هم وجود دارد .
پس از شما دعوت می کنم که تا پایان این مطلب با همراه من باشی .
اصلا چرا باید من برنامه نویسی VBA رو یاد بگیرم ؟
خیلی ها این سوال رو از خودشان و یا از دیگران می پرسند . واقعا چه دلیل یا دلایل قانع کننده ای وجود دارد که بنا بر آن دلایل ، ما باید زبان برنامه نویسی وی بی ای را یاد بگیریم ؟
خیلی ها راجع به مزایای برنامه نویسی وی بی ای ؛ مزیتها و ویژگی های آن و یا کارهایی که می شود با این زبان برنامه نویسی انجام داد صحبت می کنند .
اما هیچ وقت کسی از این صحبت نمی کند که خوب حالا با این همه ویژگی های خوب و بدرد خور چرا باید آن را یاد بگیریم . مثلا یک فروشنده کفش را در نظر بگیر .
این فروشنده مدام از مزایای کفش مورد نظر صحبت می کند .
از جنس کفش ، از رنگ ، از زیبایی ، از برند ، ازکیفیت . این ها چیز هایی است که فروشنده از آنها تعریف می کند که شما را قانع کند که این کفش را بخرید .
اما شما با وجود همه این تعریف و تمجیدها تمایلی به خرید این کفش از خود نشان نمی دهید . چرا ؟
چون اصلا شما نیازی به داشتن آن ندارید .
در مورد زبان برنامه نویسی VBA هم قضیه دقیقا همین طور است . ما دنبال مزیت ها و ویژگی های برنامه نویسی وی بی ای نیستیم .
ما دنبال جواب این سوال می گردیم که چرا باید این زبان برنامه نویسی را یاد بگیریم .
برای این سوال جوابهای مختلفی می شود داشت . بیا با هم چند تا از این دلیل ها را بررسی کنیم .
دلیل اول :کار ها رو به خود اکسل بسپار
-
یاد گرفتن کار با زبان برنامه نویسی VBA این امکان را برایت فراهم می کند که انجام خیلی از کارها را به خود اکسل بسپاری . از خودت می پرسی مثلا چه کارهایی ؟
فرش کن که توی اکسل یک شیت کاری داری و در داخل آن هم اسم و مشخصات هزار نفر به همراه میزان حقوقی که هر نفر باید دریافت کند را ثبت کرده ای .
حالا مدیر شرکت از شما می خواهد که به حقوق همه این افراد 5 درصد اضافه کنی .
شاید با خودت بگویی که در خود اکسل هم که می شود این کار را کرد .
اما به تو قول می دهم که اگر برای همین یک کار ساده حداقل باید چند دقیقه ناقابل وقت صرف کنی .
ولی با برنامه نویسی وی بی ای این چند دقیقه ناقابل تبدیل به 1 ثانیه می شود . می پرسی چطور ؟ ویدئوی زیر را تماشا کن تا خودت متوجه شوی .
دلیل دوم : از شر کارهای تکراری راحت شو
قبول داری که هیچ چیز مثل انجام دادن یک کار آن هم بصورت تکراری نمی تواند باعث خستگی جسمی و روحی ات بشود .
تصور اینکه بخواهی یک کار ساده را 10 بار یا صد بار انجام بدهی واقعا آزار دهنده است . آن هم وقتی بدانی که راهی برای این و.جود دارد که تو را از شر انجام کارهای تکراری نجات بدهد .
و آن راه چیست ؟ بله برنامه نویسی VBA
می خواهی با هم یک مثال از کاری که می تواند حالت تکراری داشته باشد را بررسی کنیم تا بهتر متوجه شوی که منظور از کار تکراری چیست و چه جوری میشه به کمک برنامه نویسی VBA از شر انجام این کار تکراری خلاص بشی .
مثلا فرض گن که در یک فایل اکسل 20 تا شیت کاری وجود دارد . حالا می خواهی به غیر از یک شیت همه آنها را حذف کنی.
خُب برای این کار باید به سراغ شیت اول رفته روی آن کلیک راست کرده و بعد با انتخاب گزینه Delete آن را حذف کنی .
بعد باید به سراغ شیت دوم رفته همین کا را برای آن هم تکرار کنی. و همین کار را باید برای همه شیتها تکرار کنی .
اما به کمک کد نویسی وی بی ای همه این کارهای تکراری را می توانی خیلی راحت و تنها با یک کلیک ساده انجام دهی .
برای این کار می توانی از کدهای زیر استفاده کنی .
Sub delete_sheet()
Dim ws As Worksheet
For Each ws In Worksheets
If ws.Name <> "sheet1" Then
ws.Delete
End If
End Sub
دلیل سوم : اکسل را به یک نرم افزار کاربر پسند تبدیل کن
اکسل به خودی خود یک نرم افزار ساده و کاربر پسند هست .
پس منظورم از اینکه می گویم اکسل را کاربر پسند کن چیست؟
شاید بهتر باشد که اکسل را کاربر پسندتر کنی. اما چطوری و چه جوری ؟
خوب فرض کن که توی یکی از شیتهای اکسل 4 تا ستون داری و قرار است که در این 4 ستون اطلاعات مربوط به هزار نفر را ثبت کنی .
حالا اگر که بخواهی بصورت مستقیم اطلاعات رو در اکسل وارد کنی باید سطر به سطر و ستون به ستون از این سلول به آن سلول بروی تا اطلاعات را وارد کنی .
اما به کمک برنامه نویسی وی بی ای می توانی این کار را خیلی راحت تر و ساده تر و البته با سرعت بیشتری انجام دهی . اما چطوری ؟
کاری که می شود انجام داد این است که یک فرم را طراحی کرده و در داخل آن اطلاعات را از کاربر دریافت کنی. در قدم بعد باید این اطلاعات دریافت شده از کاربر را در داخل سلول های سلول و در محل مناسب ذخیره کنی .
در هر دوی این حالت ها نیاز به داشتن دانش برنامه نویسی وی بی ای در محیط اکسل خواهی داشت
دلیل چهارم: توابع مورد نظرت را ایجاد کن
در اینکه نرم افزار اکسل تا حد بسیار زیادی یک نرم افزار کامل و جامع است بحثی نیست .
قابلیت های نرم افزار اکسل آنقدر زیاد هست که خیلی از افراد در سطح سواد و تحصیلات مختلف می توانند از امکانات ان استفاده کنند .
مثلا یک حسابدار از اکسل برای کارهای محاسباتی و حسابداری می تواند استفاده کند .
یک متخص امار از قابلیت هایی که برای انجام محاسبات آماری در اکسل وجود دارد استفاده می کند .
یا یک مهندس عمران برای محاسبات عمران و سازه می تواند از امکاناتی که در اکسل قرار دارد استفاده کند .
می بینی که طیف مخاطبان اکسل چقدر می تواند گسترده باشد .
هر چند که اکسل بیشتر نیازهای هر رشته شغلی را تا حد بسیار زیادی برطرف می کند ولی در این بین باز هم یک سری از نیازها هستند که از قبل و بصورت پیش فرض در داخل این نرم افزار فکری به حال آنها نشده است .
مثلا فرض کن که یک حسابدار یک فاکتور فروش دارد و در آن مبلغ نهایی فاکتور را به کمک یک سری از محاسبات در اکسل استخراج کرده است .
حالا می خواهد همین مبلغ را که بصورت یک عدد است ، آن را به حروف هم تبدیل و در زیر فاکتور خود درج کند .
اما اکسل بصورت پیشفرض قابلیتی به اسم تبدیل عدد به حروف ندارد . پس چه کاری باید کرد ؟
خب تنها چاره و راهکار این است که به برنامه نویسی و کدهای VBA متوسل شد .
در واقع با استفاده از برنامه نویسی VBA می شود یک سری از کدهایی را نوشت و در نهایت از این کدها در قالب توابعی در محیط اکسل استفاده کرد .
حالا به کمک این توابع خیلی راحت می توان کاری کرد که هر عددی را به عنوان ورودی در اختیار این توابع قرار می دهیم از سمت دیگر تابع آن عدد را به حروف تبدیل و در خروجی آنها را نمایش دهد .
مثل چیزی که در تصویر زیر می توانی مشاهده کنی .
قابلیتی که در تصویر بالا می توانی مشاهده کنی یک قابلیت کاربردی و جالب است که خیلی جاها می تواند مورد استفاده قرار بگیرد .
اما چیزی که هست این است که این قابلیت به خودی خود و از قبل در داخل اکسل وجود ندارد و برای ایجاد چنین قابلیتی ناچار باید به سراغ برنامه نویسی VBA در اکسل بروی .
دلیل پنجم : کمتر فرمول نویسی کن ، صفحه ای تمیز داشته باش
خیلی از کار ها را در اکسل با استفاده از فرمول ها و توابعی که در داخل اکسل وجود دارند باید انجام داد .
برای اینکه این فرمول ها را در شیتها درج کنی باید به سراغ تک تک سلول های مورد نظرت بروی و در داخل آنها از این فرمول ها استفاده کنی .
خب این می تواند یک جاهایی برایت ایجاد دردسر کند . چرا ؟
چون ممکن است که کاربر به این فرمول ها دسترسی پیدا کند و خواسته و نا خواسته این فرمول ها و یا توابع را دستکاری کند . ان وقت همه محاسباتی که به کمک این فرمول ها و توابع انجام می دادی خیلی راحت به هم می ریزد .
اما در نقطه مقابل فکرش را بکن که همه کارهایی را که به کمک فرمول ها انجام می دادی را بتوانی انجام دهی اما برای انجام آنها از هیچ فرمول و تابعی در شیت های اکسل استفاده نکنی .
در واقع هر فرمول و تابعی را که لازم داری به جای اینکه در محیط اکسل و بصورت مستقیم در داخل شیتها وارد کنی آنها را در ساختار برنامه نویسی و کدهای VBA می توانی وارد کنی .
در این حالت هیچ کدام از سلول ها و یا شیتها فرمولی را در خود ندارند و از این بابت خیالت راحت می شود که مشکلی برای محاسبات مورد نظرت پیش نخواهد آمد .
اگر می خواهی یک مثال عملی در این زمینه را ببینی می توانی ویدئوی زیر را تماشا کنی .
در این ویدئو خواهی دید که چه جور می شود یک کار خاص را هم از طریق اکسل و هم از طریق برنامه نویسی وی بی ای انجام داد .
دلیل ششم : انجام کارهای خاص در زمانهای خاص
بعضی از مواقع نیاز پیدا می کنی که یک یا چند تا کار خاص را در اکسل در وقت و زمان مشخصی از ساعات شبانه روز انجام دهی .
مثلا فرض کن که اگر کاربر بیشتر از 1 ساعت با نرم افزار اکسل کار کرد برنامه بطور خودکار یک پیغام برایش صادر کند و از کاربر بخواهد که کمی استراحت کند .
یا اینکه مثلا فرض کن که می خواهی کاری کنی که کاربر در یک بازه زمانی خاصی فقط قادر به کار با نرم افزار اکسل باشد .
مثلا از ساعت 9 صبح تا ساعت 11 . بعد از این ساعت می خواهی برنامه بطور خودکار بسته شود .
خب در حالت عادی اگر بخواهی این کارها را انجام دهی چکار باید کرد ؟
حتما خوب می دانی که انجام این کارها در حالت عادی از توسط خود اکسل امکان پذیر نیست ولی این کارها را خیلی راحت می توانی به کمک کدها و برنامه نویسی وی بی ای انجام دهی.
بیا یک مثال را با هم بررسی کنیم .
فرض کن می خواهی کاری کنی که وقتی که کاربر برنامه اکسل خودش را باز می کند بلافاصله یک اسپلش اسکرین در اکسل بصورت خودکار برایش باز شده و به نمایش درآید .
شاید از خودت بپرسی اسپلش اسکرین دیگر چیست ؟
اسپلش اسکرین یا همان splash screen در واقع یک کادر است که در ابتدای اکثر نرم افزار ها باز می شوند و به کاربر نمایش داده می شوند و البته بعد از چند ثانیه بصورت خودکار بسته می شوند .
نمونه های زیادی از این اسپلش اسکرین ها را می شود مثال زد .
مثلا خود نرم افزار اکسل . دقت کرده ای که وقتی بر روی آیکون مربوط به اکسل در ویندوز کلیک می کنی یک تصویر برایت به نمایش در می آید . تصویر مانند شکل زیر .
این تصویر همان چیزی است که از آن به اسم اسپلش اسکرین نام می بریم .
حالا فکرش را بکن که چطور می توانی یک اسپلش اسکرین را برای خودت تنظیم کنی ؟
آیا اصلا شدنی است ؟ اگر شدنی است چطوری ؟
شدنش که شدنی است اما اینکه چطور باید این کار را انجام دهی باید از برنامه نویسی و کدهای VBA استفاده کنی که مراحل آن را می توانی در مطلب زیر پیدا کنی .
دلیل هفتم : یک سر و گردن بالاتر از بقیه باش
امروزه دیگر کمتر کسی را می توان پیدا کرد که از نرم افزار اکسل استفاده نکند و یا یک جورهایی می شود گفت که همه ما به نحوی به اکسل وابسته هستیم .
دانش آموز ، دانشجو ، استاد ، معلم ، مهندس ، حسابدار ، فروشنده ، و خیلی از مشاغل دیگر هم هستند که به نحوی با اکسل سر و کار دارند .
دیگر اینکه در یک جمع باشی و عنوان کنی که کار با اکسل را بلد هستی هیچ مزیتی را برایت ایجاد نمی کند چون احتمالا بغیر از خودت چند نفر دیگر هم در آن جمع هستند که کار با اکسل را بلدند .
اما یک سوال .
در همین جمع فرضی چند نفر و یا از اطرافیان خودت چند نفر را می شناسی که برنامه نویسی در اکسل را بلد باشند ؟
مطمئنا تعداد افرادی که کار با برنامه نویسی در اکسل را بلد هستند در مقایسه با آنهایی که کار با خود اکسل را بلدند خیلی خیلی کم هستند .
پس این یک فرصت عالی است که با یاد گیری برنامه نویسی وی بی ای خودت را از بقیه متمایز کنی .
مطالب زیر را حتما مطالعه کنید
ذخیره نمودارها با کدهای VBAبصورت تصویر+راهنمای گام به گام
لیست باکس ها در برنامه نویسی VBA ؛ تمام چیزی که باید بدانید .
۷ اشتباه در کدنویسی VBA که ممکن است شما هم مرتکب شوید ؟
توی این آموزش راجع به اشتباهاتی که ممکن است در برنامه نویسی VBA مرتکب آنها شوید صحبت می کنیم .
با این خطای Runtime Error 1004 در VBA چکار کنیم ؟
در این آموزش راجع به خطایی به اسم Run time error 1004 در برنامه نویسی وی بی ای با هم صحبت می کنیم .
دیدگاهتان را بنویسید